package com.cruise.game.model.vo.agent;

import io.swagger.annotations.ApiModel;
import io.swagger.annotations.ApiModelProperty;
import lombok.Data;

import java.io.Serializable;
import java.math.BigDecimal;
import java.time.LocalDateTime;

/**
 * 代理个人信息VO
 *
 * @author cruise
 * @date 2025-02-28
 */
@Data
@ApiModel("代理个人信息VO")
public class AgentProfileVO implements Serializable {

    private static final long serialVersionUID = 1L;

    @ApiModelProperty("代理ID")
    private Long id;

    @ApiModelProperty("用户ID")
    private Long userId;

    @ApiModelProperty("游戏分类")
    private GameCategoryInfo gameCategory;

    @ApiModelProperty("服务价格")
    private BigDecimal servicePrice;

    @ApiModelProperty("服务描述")
    private String description;

    @ApiModelProperty("状态(available,busy)")
    private String status;

    @ApiModelProperty("评分")
    private BigDecimal rating;

    @ApiModelProperty("已完成订单数")
    private Integer ordersCompleted;

    @ApiModelProperty("创建时间")
    private LocalDateTime createdAt;

    @Data
    public static class GameCategoryInfo implements Serializable {

        private static final long serialVersionUID = 1L;

        @ApiModelProperty("分类ID")
        private Long id;

        @ApiModelProperty("分类名称")
        private String name;
    }
}